Embedded computing systems, such as those used to implement devices for the Internet of Things, can be widely distributed to consumers outside the control of the system developer. The devices can include proprietary data, proprietary code, and personal data of users of the device. For example, the proprietary data can include cryptographic keys for encrypting and decrypting data or for accessing network-accessible services. The proprietary code can include software instructions for implementing the functionality of the device. One method for protecting proprietary and personal information is to use cryptographic techniques to encrypt the information. Encrypted information is encoded such that the information generally cannot be understood unless the encrypted information is first decrypted with a decryption key. Thus, an embedded computing system using encryption can protect the personal data of users and the proprietary data and code of the developer.